package com.zq.solution;

import java.util.HashSet;
import java.util.Set;

/**
 * @ClassName UniqueOccurrences
 * @Description 1207. 独一无二的出现次数
 * 给你一个整数数组arr，请你帮忙统计数组中每个数的出现次数。
 * 如果每个数的出现次数都是独一无二的，就返回true；否则返回 false。
 * 示例：
 *   输入：arr = [1,2,2,1,1,3]
 *   输出：true
 *   解释：在该数组中，1 出现了 3 次，2 出现了 2 次，3 只出现了 1 次。没有两个数的出现次数相同。
 * @Author ZQ
 * @Date 2020/10/28 20:57
 * @Version 1.0
 */
public class UniqueOccurrences {
    public static boolean uniqueOccurrences(int[] arr) {
        Set<Integer> set = new HashSet<>();
        int count = 0;
        for (int i = 0; i < arr.length; i++){
            if (arr[i] == 1001) continue;
            for (int j = i+1; j < arr.length; j++){
                if (arr[j] == arr[i] ){
                    count++;
                    arr[j]= 1001;
                }
            }
            if (!set.add(count)) return false;
            count = 0;
        }
        return true;
    }

    public static void main(String[] args) {
        System.out.println(uniqueOccurrences(new int[]{1,2}));
    }
}
